<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 删除数组中的元素  
        // shift  pop     
        // splice(开始的索引,多少个)


        // var arrs = [1,2,3,4,3,4,3,5];

        // for(var key in arrs){
        //     if(arrs[key] == 4){
        //         arrs.splice(key,1);
        //     }
        // }

        // console.log(arrs)


        var arrs = [1,2,3,4,4,4,4,3,5];

        // for(var key in arrs){
        //     if(arrs[key] == 4){
        //         arrs.splice(key,1);
        //     }
        // }

        // console.log(arrs)
            // 上面删除  4个4 只删除了2个  因为数组塌陷  

            // 如何解决  
        

        // 第一种方案从后往前删除  
        // for(var i=arrs.length-1;i>=0;i--){
        //     if(arrs[i] == 4  || arrs[i]==3){
        //         arrs.splice(i,1);
        //     }
        // }

        // console.log(arrs);

        // 第二种方案  如果这个位置被删除了 下一次还从这个位置开始删除 

        for(var i=0;i<arrs.length;i++){
            if(arrs[i] == 4  || arrs[i]==3){
                arrs.splice(i,1);
                i--;  // 如果这个位置被删除  下1次还从这个位置开始
            }
           
        }

        console.log(arrs)



        // 总结 : 解决数组塌陷  
        // 1 .从右往左挨个判断并删除 
        // 2. 如果这个位置被删除  下一次依然从这个索引开始删除



    </script>
</body>
</html>